package com.tujh.android.designpatterns.Facade;

/**
 * Created by TUJH on 2016/10/27.
 * <p/>
 * 为一个复杂子系统提供一个简单接口。
 * 提高子系统的独立性。
 * 在层次化结构中，可以使用Facade模式定义系统中每一层的入口。
 */
public class Computer {

    private CPU cpu;
    private Memory memory;
    private Disk disk;

    public Computer() {
        cpu = new CPU();
        memory = new Memory();
        disk = new Disk();
    }

    public void startup() {
        System.out.println("start the computer!");
        cpu.startup();
        memory.startup();
        disk.startup();
        System.out.println("start computer finished!");
    }

    public void shutdown() {
        System.out.println("begin to close the computer!");
        cpu.shutdown();
        memory.shutdown();
        disk.shutdown();
        System.out.println("computer closed!");
    }
}
